/**
 * 防抖函数
 * @param {Function} fn - 需要延迟执行的函数
 * @param {number} time - 延迟的时间
 * @returns {Function} - 返回一个新的延迟执行的函数
 */
function debounce(fn, time) {
  let timer
  return function (...args) {
    if (timer) clearTimeout(timer)
    timer = setTimeout(function () {
      fn.apply(this, args)
    }, time)
  }
}